package com.ry.bhwktapp.home.ui

//惰性加载的使用
class KtBase79 {
    /**
     * lateInit是手动的延时加载,by lazy 是自动懒加载
     */


//不使用惰性初始化--饿汉式普通函数
    /* val dataBase  { initDataBase() }

     private fun initDataBase(): String {
         println("开始读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("结束读数据===")
         return "读取数据结束！！！"
     }

 //    main
      val dataBase by lazy { initDataBase() }

     private fun initDataBase(): String {
         println("开始读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("正在读数据===")
         println("结束读数据===")
         return "读取数据结束！！！"
     }

     控制台打印：
     立即：
     开始读数据===
     正在读数据===
     正在读数据===
     正在读数据===
     正在读数据===
     正在读数据===
     正在读数据===
     正在读数据===
     结束读数据===
     10秒后：
     ================读取数据结束！！！*/


//使用懒加载方式==十秒后才初始化
    val dataBase by lazy { initDataBase() }

    private fun initDataBase(): String {
        println("开始读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("正在读数据===")
        println("结束读数据===")
        return "读取数据结束！！！"
    }

}

fun main() {
    val p = KtBase79()
    Thread.sleep(10000)
    println("================${p.dataBase}")
}